Interchess version 2.1.6 Copyright (C) 1998 Henry Wrightson All Rights Reserved =========================================================================== Version Log --------------------------------------------------------------------------- 1.0.0 (16/11/98) **MAJOR RELEASE** Interchess was born 1.1.0 (01/12/98) New feature : New Board design with 3d style pieces. Bug Fix : Various. 1.2.0 (07/12/98) **MAJOR RELEASE** New feature : Use of MAPI to send the chess moves as emails rather than producing a text document that could be sent manually. Bug Fix : Various. 1.3.0 (12/12/98) **MAJOR RELEASE** New feature : Changed the UI from a form to an icon in the system tray. Bug Fix : Various. 1.3.1 (17/12/98) New feature : Automated version checking and upgrading. New feature : Limited chess move email validation. More to follow prob v1.3.2/3 Bug Fix : Carriage returns were rendering the chess move email unreadable. Bug Fix : Dialogs were being popped up over the top of modal dialogs. Bug Fix : The system tray menu was accessible when a modal or priority dialog was displayed. Bug Fix : Oops, forgot a rule! Castling out of check or across a square that is in check was allowed! Should have fixed this in v1.0.0! Bug Fix : The game list would always select the first entry. It now selects the last game selected unless a new game has come in, in which case that game is selected. Bug Fix : The ending message was stating the wrong winner. 1.4.0 (20/01/99) **MAJOR RELEASE** New feature : You now have the option to specify how long you want the new move notification dialog to remain on screen before it is cancelled. New feature : You can now specify whether you want to receive a verbose warning dialog when you try an illegal move. This is useful if you are learning to play chess and dont know fully how all the pieces move. New feature : The chess move email is now FULLY validated so that something that appears to be a move email or one that has been fatally tampered with cannot slip through the net and crash the application. New feature : Scrapped the chess board toolbar in favour of a much more sexy toolbar that uses images instead of windoze buttons. New feature : Re-jigged the chess board form so it looks less cluttered and more attractive...well I think so. New feature : You are now alerted to your opponents last move by having the path that your opponents last move took highlighted. New feature : Included a gang screen. Can you find out what it's all About... ? New feature : Chess move email is now encrypted to protect it from prying eyes. Bug fix : The new move notification dialog should now popup ONTOP of everything rather than quietly sitting behind the other applications until you accidentally discover it. Bug fix : When you run a new version of Interchess for the first time, it copies all your previous registry settings to the new version key. It was forgetting to copy the user name and company. Result; new upgraded version became unregistered versions. Bug fix : Spaces were disappearing from the chess move email causing things like player comments to have words stuck together. Bug fix : Certain pieces of text are reserved by Interchess as markers for use in the chess move email and the user was not prevented from entering these pieces of text into the game name and player comment. Had this happened Interchess would have failed to read the chess move email. Bug fix : The move history list was slightly too long, producing half a row at the Bottom. Bug fix : The application would crash if it was unable to locate a sound file it was intending to play. Bug fix : The notification sound file name was not being saved in the registry properly. Bug fix : Checkmate was being improperly calculated. It was failing to detect the fact that you could take the piece that had got you in check. 1.4.1 (28/01/99) New feature : Improved the look of all the chess board toolbar buttons...again. New feature : Included a menubar on the board form New feature : Right click menus for the board and move history New feature : The move history now centres the selected move when ever it changes New feature : Allowed the co-ordinates to be TURNED on and off rather than being held on by the button New feature : The move highlight can now be applied to any move in the move history New feature : Improved the visibility of the move highlight...again. Bug fix : On the opening move the surrender game button was disabled until a move had been taken and then taken back 1.5.0 (02/02/99) **MAJOR RELEASE** New feature : Full depth-first, minimax search implemented! It's about time I used my degrees for something! Alpha\Beta pruning and state space redundancy compression to follow in version 1.5.1. This is still a development release with some fairly inefficient code yet to be optimised. New feature : I've unfortunately had to raise the minimum spec. courtesy of the extremely memory intensive search algorithm. For stand alone chess it is now P233 with 64Mb of RAM. New feature : Yet another option for the options page; Search Depth. As yet it is not saved into the registry. New feature : Converted from VB 5 to VB 6, including all type libraries and common controls. That was not fun :-( Bug fix : It was still failing to recognise checkmate properly and castling could occasionally result in the loss of a Rook! Bug fix : The search algorithm was making virtual chess moves but not taking them back properly when it climbed back up the search tree Bug fix : The rooks and kings were having there castle flag set by the search algorithm the upshot of which was that after the first move, the game would not let you or the computer castle 1.5.2 (12/02/99) New feature : Board graphics are now held as files on the hard disk and as such are customisable. New feature : Because of the way the board graphics are now stored, multiple sets have been instituted with a selection tab on the options page. New feature : You can now access the options form from then chess board, allowing you to change the board graphics mid-game. New feature : Four new chess sets. Two are unplayable due to the unrecognisable nature of the pieces New feature : Attached sounds to all the message boxes that pop up from time to time. New feature : You can now minimise and maximise the main game interface. Ex-feature! : Removed the option to play chess against the computer. It was more an exercise in Artificial Intelligent and games search than a serious attempt at a viable chess program. The AI worked, it just couldn't play chess too well. This 'feature' is now an 'egg' that can be accessed by typing in the password, (vsComputer), while the main game interface form is open. Ex-feature! : Removed the menu bar from the board relying solely on the right-click menus. It ruined the look of the board form. Old feature : Due to the removal of the vsComputer mode, the minimum spec, is back to what it was. Bug fix : The system tray icon was available while the board was open, which would allow the user to select options that are not available when the board is open, such as quit, or logon/retrieve games. Bug fix : Sometimes, performing an illegal en passant move would cause the application to crash. Bug fix : Fixed problems with the form colours in different colour depths 1.5.3 (25/03/99) New feature : A menu item on the system tray menu now lists all the games in the database and allows the user to select a game to play without loading the main game list interface. New feature : New improved installation set that offers the user a choice of what to install. Bug fix : Under certain conditions the subclass.ocx control would not register so the installation would fail. The remedy has been to remove it and do the system tray icon with API calls. This has resulted in the Known Issue, (2), but it is a small price to pay. Bug fix : The default settings were not being saved to the registry properly. 1.6.0 (01/04/99) **MAJOR RELEASE** Ex-feature! : The database used to be an Access database connected to via JET and DAO 3.51 but there were various deployment issues so I've scrapped it and gone for a simpler text file based database. 1.6.2 (09/04/99) New feature : The new move notification now has three options, play the new game, open the game interface or ignore the new move. You should now be able to play Interchess without having to open the game interface. Bug fix : The records being written to the database were not of the correct length which was causing potions of other records to be overwritten! Bug fix : When you first ran Interchess it was coming up with no chess board selected this is wrong and it now defaults to Classic Wood. 1.6.3 (11/04/99) Bug fix : The system tray icon was being disabled if the splash screen was turned off. Bug fix : The Game menu was not updating when you played a new move straight off from the notification dialog. 1.6.4 (14/04/99) New feature : Normally, when Interchess checks for new moves it only looks for unread mail, the menu option to do the same has also only looked for unread mail, this can cause confusion so now the menus also look through the read mail as well. Bug fix : The population of the game list menu with data was causing the app to crash when it tried to enable a menu separator. Bug fix : The chess move email was having spurious spaces introduced into it. The routine strips all the junk from the email prior to decryption wasn't taking into account the fact that the email was encrypted to when it replaced a certain character with another one it was the wrong character! I wrote that that code BEFORE I wrote the encryption routine and forget to update it. Doh! 1.6.5 (23/04/99) New feature : The move comment is now displayed on the new move notification dialog Bug fix : When you first open Interchess, it sometimes tried to notify you of a new move that doesn't exit. This would cause it to report that the database was corrupt. Bug fix : The new move notification dialog was not always appearing above all the other applications. It's still not right but it's better. Bug fix : If you selected Ignore on the new move notification dialog, the system tray icon would stop responding to your mouse clicks! 1.6.6 (27/04/99) New feature : You can now choose from a selection of system tray icon sets. This is so you can set the icon to something less obviously representing a chess game, a kind of cheesy boss-mode type thang. Bug fix : In version 1.6.3 the splash screen disabling the system tray icon was fix but was then broken in 1.6.4 and has now been fixed again. 1.6.7 (27/04/99) New feature : You can now select a game from the main game list and select Print... from the file menu and it will print out a graphical representation of the game. Bug fix : Another problem with checkmate detection was that if more than one piece gets the king in check and the king can't move out of the way, its check mate. The trouble is that the computer found that it could block or take one of the attackers and felt that was enough! 1.7.0 (23/05/99) **MAJOR RELEASE** New feature : You can now set-up the board and then choose to play that board setup. Warnings about dodgy board configurations are issued but you are not stopped from starting a game of chess with 1 black king and 20 white queens if you want. There is no guarantee that your opponent will accept the challenge but there you are. Bug fix : The sound that is played when you get your opponent in check mate was being played twice. 2.0.0 (29/05/99) **MAJOR MAJOR RELEASE!!** New feature : Completely redesigned the interface to use shaped forms with snazzy graphics. The attempt being to distance myself from Windoze style forms. New feature : All application graphics are now JPEG which apart from making them smaller, means, the better your graphics capabilities, the better the game looks. Another side effect is that all interface graphics are now stored as JPG files on the hard disk so there is the potential to customise the look of the applications interface. Take it from me, that's not a lot of fun as there are currently 16 forms and it takes a while to put together a good looking form. New feature : All standard form buttons have been replaced with swanky graphic buttons to better match the new interface and prevent different Windows colour schemes making forms look stupid. New feature : Rather than choose a chess set and board in one go, you are now fooled into thinking there are separate sets and boards by two separate lists of chess set and board to choose from. These are in fact just displaying the chess set details in a more intelligible way. New feature : The print dialog has been changed to accommodate the ability to print just one move from a game and it now uses the standard windows print setup dialog to format the printer prior to printing. This solves a problem with it not printing to the correct default printer. New feature : You can now print just the current board state from the chess board form. New feature : You can not turn the little ToolTips on and off. New feature : There is now a right-click menu on the game list of the main game interface that offers all the game related options from the menus available at the top of the form. Ex-feature : The Easter egg of being able to play against the computer has now been removed and instead, the feature has been fully exposed and there is a button on the main game interface from which to select this feature. Bug fix : The new move notification dialog was not popping up on top of all the other windows properly because it was using a VB command to bring it to the front. This has been replaced with a trusty API call and it now works. Bug fix : The move highlight on the board was not being updated if you took a move, displayed the highlight then undid the last move. If you did this, the highlight would remain on the move you had just undone. Bug fix : If, when you printed a game, the board was oriented with black at the bottom or you were playing black, the board was being printed back-to-front! 2.1.0 (20/06/99) **MAJOR RELEASE** New feature : The heuristic values have been exposed. The user can now customise the AI that is used to determine how the computer should move in a game. This is found on the Heuristics tab of the options form New feature : The set of current heuristic values can be saved away to text files that can be distributed and loaded into Interchess. This is found on the Saved AI tab of the options form. New feature : The finished status of a game is now displayed as either won or lost rather than just finished. New feature : Included a registration option that can be accessed from the About form. New feature : Slightly crippled some features on the Options page. These options do not affect the functionality of Interchess but, rather, enhance it. Once Interchess is registered, these features will become available. New feature : On-line help! Not only does it have on-line help in the form of a WinHelp 4 help file but its a fairly cool help file too. A little large but cool all the same... New feature : You can now cancel while the computer is looking for a chess move. This is fairly helpfull if you have inadvertantly selected too high a search depth and the computer goes of on one for several hours! Ex-feature : The option to set a different heuristic value for check and mate for the computer and human has been removed, the same value applies to both human and computer now. After all, a checkmate is just as good for the computer as it is for the human. Ex-feature : Removed the 'dead' games from the Games menu option on the system tray icon. These games eventually clogged up the submenu with games that were no longer on any interest other than for review. Bug fix : When you open a game that is finished, a message is displayed telling you the status of the game. This was not happening if the game ended due to a surrender. Bug fix : The AI used to determine whether the computer should go for a check or mate was a little faulty, causing the computer to think that leaving itself in a checkable position was good. Bug fix : The move notation for a pawn promotion was coming out as a combination of pawn take/promotion/en passant! Bug fix : Version 2.0.0 introduced an error with pawn promotion that resulted in the new white piece being recognised as a white queen and the new black piece being recognised as nothing! Bug fix : The Print option in the Game interface was not being disabled if there were no games to print. Bug fix : When a new chess set is selected, it was supposed to select the board as before, if available. Bug fix : Multiple, indescribable bug fixes to the search AI. 2.1.1 (04/07/99) Bug fix : Version 2.1.0 introduced an error with the game menu containing a spurious entry if there were no games in the DB. Bug fix : While the computer was searching for it's next move, you were able to switch the board view or display the coordinates, this caused the board state to change, so I have now disabled every except window minimise, cancel search and help, while the computer is searching. 2.1.2 (15/07/99) Bug fix : An issue with OS version checking was causing it to crash on some systems. The solution has been to remove the version checking. The downside is that if you run this 32 bit app on a 16 bit system you will not get a nice error message, it will just hang. Bug fix : The help file contained some internet links which required some extra distributable components to make the help file work. These components were not in the install. I have removed the internet links so the components are no longer needed. 2.1.3 (07/08/99) ** MAJOR RELEASE ** Ex-feature : Interchess is now FREEWARE. Shareware simply doesn't work as a money spinner and I felt that denying people the use of Interchess simply for a few pounds was a little petty so it's now free! As a result all the registration stuff in the application and help file has been removed. Hopefully I've caught them all. 2.1.4 (11/08/99) Bug fix : Somehow some of the buttons on the chess board toolbar were not being disabled properly, when they used to be. The surrender button was available after the game was over and the resend button was never available. Bug fix : The about form would crash the app because it was looking for the registration fields that were removed when it went to FREEWARE! Bug fix : The upgrade message was showing when you first install Interchess. Bug fix : The warning about playing Interchess at the wrong pixel depth was comming up : all the time and not just once per pixel depth change. 2.1.5 (17/08/99) Bug fix : A problem with the install program was causing one of the supplied components to not be registered. 2.1.6 (04/09/99) Bug fix : When IC loads it tests for screen DPI, it was looking at the wrong registry settings. bug fix : The re-send button was not always disabled when it should have been bug fix : On your first move, the opponent players comment was comming up as 'Comment' bug fix : The font on the system tray icon selector on the options page was too large and the column headings didn't fit. bug fix : The system tray icon selector was not reflecting the current system tray icon set. Nor was changing it, enableing the Apply button. bug fix : When IC starts up it asked the mail client to download all your mail. This can sometimes cause IC to hang if the user is not connected to the internet. This feature has been removed. Known issues ------------ 1. Interchess was written entirely in VB6 on a Windows 98 system and was tested on NT and found not to work with the mail transport of that particular system. Because of this I decided that Interchess was a Windows 9x application only. For this reason, I cannot guarantee that it will work under an NT client, but you never know, give it a whirl. 2. The system tray icon is a peculiar little beast. Sometimes you may have to click on it twice to get it to come up, (but not very often at all, thankfully). There is also a problem with cancelling the menu. If you bring it up and then click on say the desktop to dismiss it, it will not go away, but rather remain painted on the screen as an inactive menu. Simply passing the mouse over the top of it will dismiss it. While it is visible as a cancelled menu it is not usable and does not affect the functionality of Windows...it just looks odd. Thankfully, you do not bring it up and then cancel it too often so it is not a problem you will encounter too often. It took one of my testers nearly two months to spot it! 3. On a purely aesthetic note, the chess set icons used to denote dragging and dropping, look great at 16bit colour but any lower must resort to a much lower res graphic. The same applies to the sets themselves. Because of this, it is HIGHLY recommended that you operate your computer at, at least, 16 bit colour depth. After all if your card is capable of that many colours it means it has enough memory to generally enhance all of windows and should be set to 16 bit colour anyway. 4. Sometimes the new move notification dialog does not appear on top of other applications. This is due to unavoidable events taking precedence over the request to bring the dialog to the top. If you assign a sound effect to the new move notification, you should not have any problem noticing a new move. But again, this is not a problem that happens too often. 5. This is a biggie! On some fairly clean Windows 95 systems Interchess may fall over when you try to open the Options page, Main Interface or chess board, with an OLE Automation Error '440'. I have been able to replicate this but have been fairly unable to fix it. The solution, in most cases, is to install the latest Microsoft DCOM component. Currently this is DCOM95 v1.3 or DCOM98 v1.3 depending on your OS. Theoretically, I should be able to distribute those components contained in DCOM that are required but this is not the case in practice. If you are running Windows 98 with IE 4 or 5 you should not experience this problem. In the interests of download size, I've tried to keep the install to the absolute minimum and this means that the odd component may be missing. I'd like to blame it on Microsoft, but it's my fault really! :-( 6. Unless you are running Windows 98 and IE5 with the Dial-up on demand component, running Interchess while not connected to a dial-up connection or a LAN with email support may very well result in Interchess crashing. This is because it tries to start an email session with the mail subsystem and if you do not have a usable internet connection you may not have a mail subsystem installed on your computer. The solution is to ensure you have an installed modem, a defined email profile, a dial-up network connection and an email client. With If you are using Interchess over a LAN there should be no problems but if you are using it over a dial-up networking connection you may need to make sure you are connected to the internet first. The way to know this is simple, if, when you run Interchess it works, your fine, if it crashes, connect to the internet first. Simple really. --------------------------------------------------------------------------- 4th September, 1999 Henry Wrightson Interchess@HappyValley.Screaming.net Interchess@HenryWrightson.In2Home.co.uk ---------------------------------------------------------------------------